package com.mac.hosp_pre.order.model.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * Order
 *
 * @author mac
 */
@Data
@Schema(name = "订单返回对象")
public class OrderInfoRespDto implements Serializable {
	
	private static final long serialVersionUID = 1L;

	@Schema(description = "userId")
	private Long userId;

	@Schema(description = "订单交易号")
	private String outTradeNo;

	@Schema(description = "医院编号")
	private String hoscode;

	@Schema(description = "医院名称")
	private String hosname;

	@Schema(description = "科室编号")
	private String depcode;

	@Schema(description = "科室名称")
	private String depname;

	@Schema(description = "排班id")
	private String scheduleId;

	@Schema(description = "医生职称")
	private String title;

	@Schema(description = "医生名称")
	private String doctName;

	@Schema(description = "安排日期")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date reserveDate;

	@Schema(description = "安排时间（0：上午 1：下午）")
	private Integer reserveTime;

	@Schema(description = "就诊人id")
	private Long patientId;

	@Schema(description = "就诊人名称")
	private String patientName;

	@Schema(description = "就诊人手机")
	private String patientPhone;

	@Schema(description = "预约记录唯一标识（医院预约记录主键）")
	private String hosRecordId;

	@Schema(description = "预约号序")
	private Integer number;

	@Schema(description = "建议取号时间")
	private String fetchTime;

	@Schema(description = "取号地点")
	private String fetchAddress;

	@Schema(description = "医事服务费")
	private BigDecimal amount;

	@Schema(description = "退号时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
	private LocalDateTime quitTime;

	@Schema(description = "订单状态")
	private Integer orderStatus;

	@Schema(description = "订单状态名称")
	private String orderStatusString;

	@Schema(description = "id")
	private Long id;

	@Schema(description = "创建时间")
	private LocalDateTime createTime;

	@Schema(description = "更新时间")
	private LocalDateTime updateTime;


}

